package com.fengkai.filepost.pdfoutstream.test.ODsolutions;


import java.util.Arrays;
import java.util.Comparator;
import java.util.PriorityQueue;

/**
 * @author Fengkai
 * @creat 2023/4/24
 * 给出箱子编号，箱子编号为1~N。
 * 每个箱子中都有一个字符串s，字符串由大写字母、小写字母、数字、标点符号、空格组成，
 * 需要在这些字符串中找到所有的字母，忽略大小写后排列出对应的密码串儿，并返回匹配密码的箱子序号。
 * 提示：
 * 满足条件的箱子不超过1个
 * 输入描述
 * 第一行为key的字符串，
 * 第二行为箱子boxes，为数组样式，以空格分隔箱子
 * <p>
 * N数量满足1≤N≤10000,
 * s长度满足0≤s.length≤50，
 * 密码为仅包含小写字母的升序字符串，且不存在重复字母，密码K长度K.length，1≤K.length≤26
 * 输出描述
 * 返回对应箱子编号
 * 如不存在符合要求的密码箱，则返回-1
 */
public class MiShiKey {
    public static void main (String[] args) {
//        System.out.println(miShiKey("abc", "sdf134 A2c4b"));


    }

    public static int miShiKey (String key, String input) {
        String[] boxes = input.split(" ");
        int result = -1;
        for (int i = 0; i < boxes.length; i++) {
            String low = boxes[i].toLowerCase().replaceAll("[^a-z]", "");
            char[] chars = low.toCharArray();
            Arrays.sort(chars);
            if (new String(chars).equals(key)) {
                result = i + 1;
                break;
            }
        }
        return result;
    }
}
